package com.shopx.sys.bean;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * TODO
 *
 * @author lituo
 * @className: SysCompany
 * @date 2021-12-08
 */
@Data
public class SysCompany implements Serializable {
  /**
   * 公司编号
   */
  private String cpId;
  /**
   * 公司名称
   */
  @NotNull(message = "请填写公司名称")
  @NotEmpty(message = "请填写公司名称")
  private String cpName;
  /**
   * 所在地址
   */
  @NotNull(message = "请填写公司地址")
  @NotEmpty(message = "请填写公司地址")
  private String cpAddress;
  /**
   * 公司描述
   */
  private String cpDesc;
  /**
   * 联系人
   */
  @NotNull(message = "请填写公司联系人")
  @NotEmpty(message = "请填写公司联系人")
  private String contractName;
  /**
   * 联系电话
   */
  @NotNull(message = "请填写公司联系电话")
  @NotEmpty(message = "请填写公司联系电话")
  private String contractTel;
  /**
   * 公司法人
   */
  private String contractBoss;
  /**
   * 公司联系电话
   */
  private String cpTel;
  /**
   * 合同
   */
  private String cpContract;
  /**
   * 入驻开始时间
   */
  @NotNull(message = "请填写合同起始时间")
  @NotEmpty(message = "请填写合同起始时间")
  private String cpBeginDt;
  /**
   * 入驻结束时间
   */
  @NotNull(message = "请填写合同结束时间")
  @NotEmpty(message = "请填写合同结束时间")
  private String cpEndDt;
  /**
   * 公司状态
   */
  @NotNull(message = "请选择审核类型")
  @NotEmpty(message = "请选择审核类型")
  private String cpState;
  /**
   * 公司余额
   */
  private BigDecimal cpMoney;
  /**
   * 创建时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date createTime;
  /**
   * 创建用户
   */
  private String createUserId;
  /**
   * 修改时间
   */
  @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
  private Date updateTime;
  /**
   * 修改用户
   */
  private String updateUserId;
  /**
   * 审核人
   */
  private String chUseId;
  /**
   * 审核时间
   */
  private String chkTm;
  /**
   * 审核备注
   */
  private String chkRemark;
  /**
   * 赠送工地数
   */
  private BigDecimal giveNum;

  /**
   * 计费方式
   */
  private String billType;
  /**
   * 计费金额
   */
  private BigDecimal billAmount;
  /**
   * 计费开始时间
   */
  private String billBeginDt;
  /**
   * 计费结束时间
   */
  private String billEndDt;
  /**
   * 发展人
   */
  private String devUserId;
  /**
   * 分佣类型
   */
  private String commissionType;
  /**
   * 分佣比例
   */
  private String commissionRatio;
  /**
   * 上级公司编号
   */
  private String parCpId;
  /**
   * 所在层级
   */
  private Integer cpLevel;
}
